package com.maben.service;

import com.maben.domain.User;
import com.maben.util.dto.UserDto;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Optional;

/**
 * 用户业务类
 */
public interface UserService {
    /**
     * 测试原有API：保存
     */
    public User saveUser(User user)throws Exception;
    /**
     * 测试原有API：通过id精准查询
     */
    public Optional<User> findUserById(Long id)throws Exception;
    /**
     * 测试自己写的API：根据单字段精准查询
     */
    public List<User> findUserListByUsername(String username)throws Exception;

    /**
     * 测试事物
     */
    public void testTrans()throws Exception;
    /**
     * 测试事物
     */
    public void testTrans2()throws Exception;
    /**
     * 测试通用查询，带分页
     */
    public Page<User> findList(UserDto userDto, Pageable pageable)throws Exception;

}
